﻿CREATE PROCEDURE [dbo].[Articulos_DevolverPorId]

@IdArticulo INT,
@IncluirImagen BIT

AS

IF(@IncluirImagen = 1)
BEGIN
	SELECT a.IdArticulo, 
		a.IdTipoArticulo, 
		a.IdSubRubroArticulo, 
		a.IdMarca, 
		a.IdDescuentoRecargoCantidad, 
		a.IdTipoComisionArticulo, 
		a.IdTipoImpuestoArticulo, 
		a.IdTipoCostoArticulo, 
		a.IdDescuentoRecargoFechaHora, 
		a.Codigo, 
		a.Nombre, 
		a.ExistenciaMinima, 
		a.ExistenciaMaxima, 
		a.Costo, 
		a.Comision, 
		a.ComisionMaxima, 
		a.Iva, 
		a.Impuesto, 
		a.Observaciones, 
		a.Imagen, 
		a.EstaEliminado,
		a.CodigoBarras
		FROM Articulos a
		WHERE a.IdArticulo = @IdArticulo
END
ELSE
BEGIN
	SELECT a.IdArticulo, 
		a.IdTipoArticulo, 
		a.IdSubRubroArticulo, 
		a.IdMarca, 
		a.IdDescuentoRecargoCantidad, 
		a.IdTipoComisionArticulo, 
		a.IdTipoImpuestoArticulo, 
		a.IdTipoCostoArticulo, 
		a.IdDescuentoRecargoFechaHora, 
		a.Codigo, 
		a.Nombre, 
		a.ExistenciaMinima, 
		a.ExistenciaMaxima, 
		a.Costo, 
		a.Comision, 
		a.ComisionMaxima, 
		a.Iva, 
		a.Impuesto, 
		a.Observaciones, 
		CASE WHEN a.Imagen IS NULL
			THEN NULL
			ELSE CONVERT(IMAGE, 0x) END AS Imagen,
		a.EstaEliminado,
		a.CodigoBarras
		FROM Articulos a
		WHERE a.IdArticulo = @IdArticulo
END

SELECT alpv.IdArticulo,
	alpv.IdListaPrecioVenta,
	alpv.Valor
	FROM ArticulosListasPreciosVentas alpv
	WHERE alpv.IdArticulo = @IdArticulo

SELECT alpc.IdArticulo,
	alpc.IdListaPrecioCompra,
	alpc.Valor
	FROM ArticulosListasPreciosCompras alpc
	WHERE alpc.IdArticulo = @IdArticulo

SELECT acpa.IdArticulo,
	acpa.IdCampoPersonalizadoArticulo,
	acpa.Valor
	FROM ArticulosCamposPersonalizadosArticulos acpa
	WHERE acpa.IdArticulo = @IdArticulo

SELECT av.IdArticuloVariante, 
	av.IdArticulo, 
	av.Nombre,
	av.EstaEliminado
	FROM ArticulosVariantes av
	WHERE av.IdArticulo = @IdArticulo

SELECT avd.IdArticuloVariante,
	avd.IdArticuloVarianteDetalle,
	avd.Valor
	FROM ArticulosVariantesDetalles avd
		INNER JOIN ArticulosVariantes av
			ON avd.IdArticuloVariante = av.IdArticuloVariante
	WHERE av.IdArticulo = @IdArticulo

SELECT ae.IdArticuloExistencia, 
	ae.IdArticulo, 
	ae.IdUbicacion, 
	ae.Cantidad,
	ae.EstaEliminado
	FROM ArticulosExistencias ae
	WHERE ae.IdArticulo = @IdArticulo

SELECT aed.IdArticuloExistenciaDetalle,
	aed.IdArticuloExistencia,
	aed.IdArticuloVarianteDetalle
	FROM ArticulosExistenciasDetalles aed
		INNER JOIN ArticulosExistencias ae
			ON ae.IdArticuloExistencia = aed.IdArticuloExistencia
	WHERE ae.IdArticulo = @IdArticulo

SELECT ap.IdArticulo,
	ap.IdProveedor
	FROM ArticulosProveedores ap
	WHERE ap.IdArticulo = @IdArticulo

SELECT ac.IdArticuloCompuesto,
	ac.IdArticulo,
	ac.IdArticuloDetalle,
	ac.Cantidad
	FROM ArticulosCompuestos ac
	WHERE ac.IdArticulo = @IdArticulo